home *** CD-ROM | disk | FTP | other *** search
/ NetNews Offline 2 / NetNews Offline Volume 2.iso / news / comp / sys / amiga / programmer / 3732 < prev    next >
Encoding:
Text File  |  1996-08-05  |  3.2 KB  |  118 lines

  1. Path: oreig.uji.es!ii202
  2. From: ii202@rossegat.uji.es (Jorge Acereda Macia)
  3. Newsgroups: comp.sys.amiga.programmer
  4. Subject: Re: Qblit intereference again
  5. Date: 23 Feb 1996 18:22:56 GMT
  6. Organization: Universitat Jaume I. Castell≤ de la Plana. Spain
  7. Distribution: world
  8. Message-ID: <4gl0m0$r6s@oreig.uji.es>
  9. References: <4gb6om$104@sunsystem5.informatik.tu-muenchen.de>
  10. NNTP-Posting-Host: @rossegat.uji.es
  11. X-Newsreader: TIN [version 1.2 PL2]
  12.  
  13. Juergen "Rally" Fischer (fischerj@Informatik.TU-Muenchen.DE) wrote:
  14. > My Qblit function still locks up if OS does small blits between it.
  15. > help please.
  16.  
  17. > Best is IMHO I post the source:
  18.  
  19. > * === THE QBLIT CALL 
  20. >    move.w #1,_bltbsy ;MY FLAG TELLING THAT QBLIT SEQUENCE IS WORKING.
  21.  
  22. >    move.l bltnode,a0
  23.  
  24.  
  25. >    clr.l (a0)+ : move.l #function,(a0)+
  26.      ^^^^^^^^^^^   ^^^^^^^^^^^^^^^^^^^^^^
  27. I never do this. I don't touch the bltnode.next field and I change the
  28. pointer to the function in the bltnode.function code.
  29.  
  30.  
  31. >    move.w #$4000,(a0)+ ;do cleanup
  32. >    move.w #$2020,(a0)+ ;DUMMY SIZE. HOW TO DO LARGE BLIT IN A .W ? HUH HUH 
  33.  
  34. ??? I don't use the size field. I write directly to bltsiz(h/v) in
  35. the bltnode.function. I don't know what this field is for. But I
  36. don't touch it and my routine works :-) Just poke the bltsize fields
  37. yourself to do large blits.
  38.  
  39. >    clr.w (a0)+
  40. >    move.l #cleanup,(a0)+
  41.  
  42. >    move.l bltnode,a1 : move.l _GfxBase,a6 : jsr -276(a6)
  43.  
  44. > * NO I WON'T TOUCH THIS BLTNODE UNTIL MY cleanup: WAS CALLED.
  45.  
  46. > *===== THE FUNCTIONS
  47. > function:
  48. > * DO I MISS CLEARING THE BLITTER INTREQ BIT HERE ?
  49.  
  50. No (I think).
  51.  
  52. >    movem.l d1/a6,-(sp)
  53. >    move.l bltpc(pc),a6
  54.  
  55. What's bltpc? Your structure defining the contents of bltxxx?
  56.  
  57. > bltsetreg:
  58. >    move.l (a6)+,d0 : move.w d0,d1 : swap d0
  59. >    move.w d0,0(a0,d1.w)
  60. > *               ^------- ??? $DFF000 BY OS ???
  61.                                ^^^^^^^^^^^^^
  62. Yes.
  63.                    
  64. >    cmp.w #$5e,d1 : beq.s bltstarted
  65. >    cmp.w #$58,d1 : bne.s bltsetreg
  66. > * ---
  67. > bltstarted:
  68. >    move.l a6,bltpc
  69. >    cmp.l #0,(a6) : beq bltintend
  70. >    movem.l (sp)+,d1/a6
  71. >    move.l #1,d0 ;TO BE RECALLED
  72. >    rts
  73.  
  74. > bltintend:
  75. >    movem.l (sp)+,d1/a6
  76. >    move.l #0,d0 ;ALL DONE
  77. >    rts
  78.  
  79. > cleanup:
  80. >    clr.w _bltbsy
  81.  
  82. Why don't you use Signal()? (like in c2p8.s... Good example (Peter?)!)
  83. You don't busywait... Do you?
  84.  
  85.  
  86. >    moveq #0,d0
  87. >    rts
  88.  
  89. > *===============================
  90.  
  91. > The bugs:
  92.  
  93. >    blitter lockup most likely if lots of small blits are done
  94. >    by other programs, while mine does quite large blits.
  95.  
  96. >    if I just let the function run without any pokes to blitter,
  97. >    the lockup is also caused!
  98.  
  99. Do you start the blitter?
  100. Just an idea. It could be due to QBlit() _requiring_ you to start
  101. the blitter.
  102.  
  103. >    It's just a lockup, no memory trashed.
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111. --
  112.  ---------------------------- --------------------------------------------
  113. |       Jorge Acereda        |      Dream the same thing everynight       |
  114. |   ii202@rossegat.uji.es    |       I see our freedom in my sight        |
  115. |       Intel Outside        |     No locked doors, no windows barred     |
  116. |        Amiga Rules         |   No things to make my brain seem scarred  |
  117.  ---------------------------- --------------------------------------------
  118.